package com.antu.first.dao;


import com.antu.first.bean.DiscountCoupon;
import com.antu.first.bean.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;


public interface UserDao {

    /**
     * 根据用户ID查询用户
     * @param uId 用户id
     * @return 用户
     */
    public User selectUserById(int uId);

    /**
     * 根据用户ID和时间修改用户优惠券的状态码
     * @return 影响行数
     */
    public int updateUserDiscountCouponStateByDate(@Param("a")int a,@Param("uId")int uId,@Param("dStart")Date dStart);

    /**
     * 通过用户ID查询所有优惠券
     * @param discountCoupon 优惠券对象
     * @return list
     */
    public List<DiscountCoupon> selectAllDiscountCouponByUid(DiscountCoupon discountCoupon);

    /**
     * 根据用户openId查询用户
     * @param user 用户对象
     * @return 用户对象
     */
    public User selectUserByOpenId(User user);

    /**
     * 新增用户
     * @param user
     * @return
     */
    int addUser(User user);

}
